Se houver um grande número de servidores com o aplicativo instalado, recomenda-se usar o balanceador de carga HAProxy. Nesse caso, o HAProxy usa o método de balanceamento de carga configurado para determinar o servidor ao qual uma solicitação de verificação é enviada. O esquema operacional do aplicativo usando um balanceador de carga é apresentado na figura abaixo. Esse esquema de interação entre componentes é válido quando o aplicativo é instalado a partir de um pacote RPM ou DEB, bem como quando o aplicativo é implementado a partir de uma imagem ISO.
Operação do aplicativo com balanceamento de carga
A numeração na figura corresponde às seguintes etapas do processamento de tráfego:
Um usuário solicita acesso a um recurso da Web. A solicitação é transmitida ao balanceador de carga.
O balanceador de carga seleciona o node do cluster de acordo com o método de balanceamento definido e transmite a solicitação do usuário a esse node.
O servidor proxy integrado do node selecionado aceita a solicitação e a transmite ao servidor ICAP do aplicativo para que possa ser verificada de acordo com as regras de processamento de tráfego.
Se o acesso ao recurso da Web for permitido de acordo com os resultados da verificação, o servidor proxy integrado envia uma solicitação ao servidor da Web na Internet.
O servidor da Web que hospeda o recurso da Web solicitado envia uma resposta ao servidor proxy integrado.
O servidor proxy integrado envia a resposta do servidor da Web para o servidor ICAP do aplicativo para que possa ser verificada de acordo com as regras de processamento de tráfego. O resultado da verificação é retornado ao servidor proxy integrado.
O servidor proxy integrado transmite a resposta ao balanceador de carga.
O balanceador de carga envia a resposta ao computador do usuário. Dependendo das ações definidas no aplicativo, o usuário pode ver as seguintes páginas:
Se o acesso ao recurso da Web for permitido, a página da Web solicitada é exibida.
Se o acesso ao recurso da Web for proibido, a página de bloqueio é exibida.
Se a ação Redirecionar foi aplicada, o usuário vê a página da Web para a qual o redirecionamento foi configurado.
É possível usar o mesmo balanceador de carga para balancear diferentes serviços ou instalar dois balanceadores de carga. Nesse caso, o balanceador HTTP distribuirá a carga entre os servidores proxy e o balanceador ICAP distribuirá a carga entre os nodes do cluster do aplicativo. O esquema de conexão do balanceador de carga é apresentado na figura abaixo. Esse esquema é válido quando o aplicativo é instalado a partir de um pacote RPM ou DEB e quando o aplicativo é implementado a partir de uma imagem ISO.
Esquema de interação com dois balanceadores de carga